package containsNearbyDuplicate;

import java.util.Arrays;
import java.util.HashMap;

public class Solution {
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        // 哈希表
        HashMap<Integer,Integer>map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            if(map.containsKey(nums[i])&&Math.abs(map.get(nums[i])-i)<=k){
                return true;
            }else{
                map.put(nums[i],i);
            }
        }
        return false;
    }
}
//class Solution {
//    public boolean containsNearbyDuplicate(int[] nums, int k) {
//        Set<Integer> set = new HashSet<Integer>();
//        int length = nums.length;
//        for (int i = 0; i < length; i++) {
//            if (i > k) {
//                set.remove(nums[i - k - 1]);
//            }
//            if (!set.add(nums[i])) {
//                return true;
//            }
//        }
//        return false;
//    }
//}
